package com.syg.springboot07.rabbitmq._03Subscrible;


import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;


/**
 * 订阅模式解读：
 *    1、1个生产者，多个消费者
 *    2、每一个消费者都有自己的一个队列
 *    3、生产者没有将消息直接发送到队列，而是发送到了交换机
 *    4、每个队列都要绑定到交换机
 *    5、生产者发送的消息，经过交换机，到达队列，实现，一个消息被多个消费者获取的目的
 *    注意：一个消费者队列可以有多个消费者实例，只有其中一个消费者实例会消费
 *    交换机有三种模式：fanout广播、direct定向、topic通配符
 */
public class ConnectionUtil {

    public static Connection getConnection() throws Exception {
        //定义连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        //设置服务地址
        factory.setHost("localhost");
        //端口
        factory.setPort(5672);
        //设置账号信息，用户名、密码、vhost
        factory.setVirtualHost("testHost");
        factory.setUsername("admin");
        factory.setPassword("admin");
        // 通过工程获取连接
        Connection connection = factory.newConnection();
        return connection;
    }
}
